package com.zhonghui.modlules.user.eshopDomain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.eshop.domain.BaseDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(
        value = "YxUserLevel对象",
        description = "用户等级记录表"
)
public class UserLevel extends BaseDomain {
    private static final long serialVersionUID = 1L;
    @TableId(
            value = "id",
            type = IdType.AUTO
    )
    private Integer id;
    @ApiModelProperty("用户uid")
    private Long uid;
    @ApiModelProperty("等级vip")
    private Integer levelId;
    @ApiModelProperty("会员等级")
    private Integer grade;
    @ApiModelProperty("过期时间")
    private Integer validTime;
    @ApiModelProperty("是否永久")
    private Integer isForever;
    @ApiModelProperty("商户id")
    private Integer merId;
    @ApiModelProperty("0:禁止,1:正常")
    private Integer status;
    @ApiModelProperty("备注")
    private String mark;
    @ApiModelProperty("是否已通知")
    private Integer remind;
    @ApiModelProperty("享受折扣")
    private Integer discount;

    public UserLevel() {
    }

    public Integer getId() {
        return this.id;
    }

    public Long getUid() {
        return this.uid;
    }

    public Integer getLevelId() {
        return this.levelId;
    }

    public Integer getGrade() {
        return this.grade;
    }

    public Integer getValidTime() {
        return this.validTime;
    }

    public Integer getIsForever() {
        return this.isForever;
    }

    public Integer getMerId() {
        return this.merId;
    }

    public Integer getStatus() {
        return this.status;
    }

    public String getMark() {
        return this.mark;
    }

    public Integer getRemind() {
        return this.remind;
    }

    public Integer getDiscount() {
        return this.discount;
    }

    public void setId(final Integer id) {
        this.id = id;
    }

    public void setUid(final Long uid) {
        this.uid = uid;
    }

    public void setLevelId(final Integer levelId) {
        this.levelId = levelId;
    }

    public void setGrade(final Integer grade) {
        this.grade = grade;
    }

    public void setValidTime(final Integer validTime) {
        this.validTime = validTime;
    }

    public void setIsForever(final Integer isForever) {
        this.isForever = isForever;
    }

    public void setMerId(final Integer merId) {
        this.merId = merId;
    }

    public void setStatus(final Integer status) {
        this.status = status;
    }

    public void setMark(final String mark) {
        this.mark = mark;
    }

    public void setRemind(final Integer remind) {
        this.remind = remind;
    }

    public void setDiscount(final Integer discount) {
        this.discount = discount;
    }

    public String toString() {
        return "UserLevel(id=" + this.getId() + ", uid=" + this.getUid() + ", levelId=" + this.getLevelId() + ", grade=" + this.getGrade() + ", validTime=" + this.getValidTime() + ", isForever=" + this.getIsForever() + ", merId=" + this.getMerId() + ", status=" + this.getStatus() + ", mark=" + this.getMark() + ", remind=" + this.getRemind() + ", discount=" + this.getDiscount() + ")";
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof UserLevel)) {
            return false;
        } else {
            UserLevel other = (UserLevel)o;
            if (!other.canEqual(this)) {
                return false;
            } else if (!super.equals(o)) {
                return false;
            } else {
                label145: {
                    Object this$id = this.getId();
                    Object other$id = other.getId();
                    if (this$id == null) {
                        if (other$id == null) {
                            break label145;
                        }
                    } else if (this$id.equals(other$id)) {
                        break label145;
                    }

                    return false;
                }

                Object this$uid = this.getUid();
                Object other$uid = other.getUid();
                if (this$uid == null) {
                    if (other$uid != null) {
                        return false;
                    }
                } else if (!this$uid.equals(other$uid)) {
                    return false;
                }

                Object this$levelId = this.getLevelId();
                Object other$levelId = other.getLevelId();
                if (this$levelId == null) {
                    if (other$levelId != null) {
                        return false;
                    }
                } else if (!this$levelId.equals(other$levelId)) {
                    return false;
                }

                label124: {
                    Object this$grade = this.getGrade();
                    Object other$grade = other.getGrade();
                    if (this$grade == null) {
                        if (other$grade == null) {
                            break label124;
                        }
                    } else if (this$grade.equals(other$grade)) {
                        break label124;
                    }

                    return false;
                }

                Object this$validTime = this.getValidTime();
                Object other$validTime = other.getValidTime();
                if (this$validTime == null) {
                    if (other$validTime != null) {
                        return false;
                    }
                } else if (!this$validTime.equals(other$validTime)) {
                    return false;
                }

                Object this$isForever = this.getIsForever();
                Object other$isForever = other.getIsForever();
                if (this$isForever == null) {
                    if (other$isForever != null) {
                        return false;
                    }
                } else if (!this$isForever.equals(other$isForever)) {
                    return false;
                }

                label103: {
                    Object this$merId = this.getMerId();
                    Object other$merId = other.getMerId();
                    if (this$merId == null) {
                        if (other$merId == null) {
                            break label103;
                        }
                    } else if (this$merId.equals(other$merId)) {
                        break label103;
                    }

                    return false;
                }

                Object this$status = this.getStatus();
                Object other$status = other.getStatus();
                if (this$status == null) {
                    if (other$status != null) {
                        return false;
                    }
                } else if (!this$status.equals(other$status)) {
                    return false;
                }

                label89: {
                    Object this$remind = this.getRemind();
                    Object other$remind = other.getRemind();
                    if (this$remind == null) {
                        if (other$remind == null) {
                            break label89;
                        }
                    } else if (this$remind.equals(other$remind)) {
                        break label89;
                    }

                    return false;
                }

                Object this$discount = this.getDiscount();
                Object other$discount = other.getDiscount();
                if (this$discount == null) {
                    if (other$discount != null) {
                        return false;
                    }
                } else if (!this$discount.equals(other$discount)) {
                    return false;
                }

                Object this$mark = this.getMark();
                Object other$mark = other.getMark();
                if (this$mark == null) {
                    if (other$mark == null) {
                        return true;
                    }
                } else if (this$mark.equals(other$mark)) {
                    return true;
                }

                return false;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof UserLevel;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = super.hashCode();
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $uid = this.getUid();
        result = result * 59 + ($uid == null ? 43 : $uid.hashCode());
        Object $levelId = this.getLevelId();
        result = result * 59 + ($levelId == null ? 43 : $levelId.hashCode());
        Object $grade = this.getGrade();
        result = result * 59 + ($grade == null ? 43 : $grade.hashCode());
        Object $validTime = this.getValidTime();
        result = result * 59 + ($validTime == null ? 43 : $validTime.hashCode());
        Object $isForever = this.getIsForever();
        result = result * 59 + ($isForever == null ? 43 : $isForever.hashCode());
        Object $merId = this.getMerId();
        result = result * 59 + ($merId == null ? 43 : $merId.hashCode());
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $remind = this.getRemind();
        result = result * 59 + ($remind == null ? 43 : $remind.hashCode());
        Object $discount = this.getDiscount();
        result = result * 59 + ($discount == null ? 43 : $discount.hashCode());
        Object $mark = this.getMark();
        result = result * 59 + ($mark == null ? 43 : $mark.hashCode());
        return result;
    }
}
